using System.Reflection;
using AdvancedGod.People.Couples;

namespace AdvancedGod.People
{
  /// <summary>
  /// Represents student
  /// </summary>
  [Couple(Pair = "Girl", Probability = 0.7, ChildType = "Girl")]
  [Couple(Pair = "PrettyGirl", Probability = 1.0, ChildType = "PrettyGirl")]
  [Couple(Pair = "SmartGirl", Probability = 0.5, ChildType = "Girl")]
  public class Student : Human
  {
    #region public properties
    /// <summary>
    /// Student's surname
    /// </summary>
    public string Surname { get; set; }
    #endregion

    #region public methods
    /// <summary>
    /// Constructs student with fields, initialized with values specified
    /// </summary>
    /// <param name="name">girl's name</param>
    public Student(string name)
      : base(Sex.Male, name)
    {
      Surname = string.Empty;
    }
    #endregion

    #region protected overrided Human methods
    /// <summary>
    /// Returns member info about concrete extended class
    /// </summary>
    /// <returns></returns>
    protected override MemberInfo GetMemberInfo()
    {
      return typeof(Student);
    }
    #endregion
  }
}